In computer gaming, artificial intelligence (AI) can be included to govern the actions of the computer-controlled entities. Examples of AI in video games include planning, in which AI entities use finite-state machines or goal-based planning to achieve in-game goals in a way that provides the illusion of intelligence; path finding, in which AI-controlled entities use path finding algorithms to navigate the environment to reach a desired point; and steering, in which AI-controlled entities often adjust their motion based on the motion of others. Application of AI techniques allows a computer game to include non-human entities that present the illusion of intelligence and interesting challenges to a player and can be a determining aspect in the success of a video game.
Physics simulation (hereafter termed “physics”) is also used in computer games. Physics in games has included such activities as detecting when objects collide and controlling the response to a collision (bounce off, merge, shatter, etc.), fluid flow simulation (e.g., for showing an environment with rivers/water, or weapons that use fluids), cloth simulation (for enhancing realism of persons and creatures wearing clothing, armor, etc.), weapons physics (trajectory simulation, explosion simulation), and a variety of other topics. More recent applications of physics in video games have started to include the concept of deformable worlds, where an object can be manipulated under the auspices of physics. In deformable worlds, some or all objects are described by their physical properties, and player interactions with the object allow changes to and manipulation of the game environment. Examples of things enabled by deformable world physics include shooting a hole through a wall rather than going through a doorway or throwing a chair found in the environment rather than firing a weapon.
However, both physics and AI can be computationally intensive workloads in video games. Physics in current games can consume 10-100×109 floating point operations per second (GFLOPS), with future games expected to consume even more computing resources for supporting rich environmental physics features such as volumetric fluids. Furthermore, software that implements physics and AI is often complex, both in terms of code complexity (branching, irregular/non-streaming memory accesses) and data complexity (use of sophisticated data structures). Generally, physics subsystems and AI subsystems do not interact with each other.